package mx.uam.ayd.dulceria.persistencia.dao;

import java.util.List;

import mx.uam.ayd.dulceria.dominio.Vendedor;

/**
 * Interface al mecanismo de persistencia
 *
 * @author humberto
 *
 */
public interface VendedorDAO {

	/**
	 * Crea un usuario en la base de datos
	 *
	 * @param usuario
	 * @return true si se creo exitosamente
	 */
	public boolean crea(Vendedor usuario);

	/**
	 * Recupera un usuario
	 *
	 * @param nombre el nombre del usuario
	 * @return un usuario o null si no se encontro
	 */
	public Vendedor recupera(String nombre);

	/**
	 * Borra un usuario
	 *
	 * @param usuario el usuario a borrar de la bd
	 * @return true si se borro exitosamente
	 */
	public boolean borra(Vendedor usuario);

	/**
	 * Actualiza los datos de un usuario existente en la bd
	 * con respecto al mismo usuario modificado en memoria
	 *
	 * @param usuario el usuario
	 * @return true si se modifico exitosamente
	 */
	public boolean actualiza(Vendedor usuario);

	/**
	 * Recupera todos los usuarios existentes
	 * @return una lista con los usuarios
	 */
	public List <Vendedor>recuperaTodos();
}
